An operating system (“OS”) consists of program modules within a computer system that govern the control of equipment resources such as processors, main storage, secondary storage and I/O devices. These modules resolve conflicts, attempt to optimize performance and simplify the effective use of the computer. They act as an interface between the user programs and the physical computer hardware.
Restoring and loading of an OS is a critical feature of computer operation that uses time and resources of the computer. Conventional systems allow for loading of the OS prior to completion of the restore, and then for launching the loaded OS while the restoration process works in the background. However, this process is typically slow because data is restored from an image and from an archive at the same time. For example, in such conventional systems, for each read request, data is read from the archive and placed in the network, which results in lost time necessary for downloading the required data. Moreover, for each read request, data must also be restored to the volume, which leads to lost time for the write operations.
A conventional method for loading an operating system is illustrated in FIG. 1. As shown, the OS is initially loaded in step 12. During the loading, an interceptor (e.g., a module of the computer processing unit (“CPU”)) of the computer can intercept operation requests to data volumes of the computer, such as read request of the data, in step 14. When intercepted, the CPU will check in step 16 whether the OS has been fully restored. If the OS is restored, the process can read data from cache in step 17 and send a read operation to the data volume in step 18. The process can then return to the loading of the OS at step 12. Otherwise, if the OS has not been fully restored, the CPU can read the data from a data archive in step 19 and save the data to a memory cache of the computer in step 20. Again, the CPU returns the process to the loading of the OS in step 12. As noted above, this conventional process for loading an OS of a computer can be slow
Accordingly, it is desired to provide a system and method where the OS being restored is launched faster to provide services (e.g., data operations) for the user while the restoration is being completed.